-
Notifications
You must be signed in to change notification settings - Fork 7
Benchmarks with fixed flat decoding processing #26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jonathanlim222
wants to merge
14
commits into
pragma-org:main
Choose a base branch
from
jonathanlim222:jonathan-turbo-benchmarks
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Benchmarks with fixed flat decoding processing #26
jonathanlim222
wants to merge
14
commits into
pragma-org:main
from
jonathanlim222:jonathan-turbo-benchmarks
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Those benchmarks are real-world scripts extracted from mainnet, and to which the script context has been pre-applied. They've been produced by https://github.com/r2rationality/turbocardano. This commit adds a preliminary setup to run those benchmarks, and measure our performance against real data. Using only data from epoch 519, 520 and 521, we already run into cases where the VM crashes. The reason for the crash could be plural: a bug in the VM implementation, or a bug in whomever produced the benchmark. Either way though, the VM should not crash but fail gracefully (or succeed, should the script actually be valid). Also, I have restricted the benchmarks to V3 only, since the semantic for V1 and V2 are still to be implemented. The goal from here would be to get all those benchmarks to pass; and ultimately compare with the Haskell & C++ implementations.
Signed-off-by: Jonathan <[email protected]>
Signed-off-by: Jonathan <[email protected]>
Signed-off-by: Jonathan <[email protected]>
Signed-off-by: Jonathan <[email protected]>
Signed-off-by: Jonathan <[email protected]>
Signed-off-by: Jonathan <[email protected]>
Signed-off-by: Jonathan <[email protected]>
Signed-off-by: Jonathan <[email protected]>
…anlim222/uplc into jonathan-turbo-benchmarks
Signed-off-by: Jonathan Lim <[email protected]>
Signed-off-by: Jonathan Lim <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes flat decoding processing and addresses the crashing that was happening when running the turbo benchmarks.
The flat decoding was not processing list data and pair data. The changes in the PR processes the tag types completely so that nesting list and pair structures will be processed accordingly.
This PR also adds threading to the cmd line eval so the stack size can be adjusted. It was crashing when trying to process the unwrapped flat benchmarks because of stack overflow.